之前做过取nginx动态链接数的item,其中key是这样定义的
|
|
其中nginx.active就是key,不过zabbix中key的定义要灵活得多。
首先key是可以接受参数的,即可以定义成这个样子
|
|
那么调用这个key的时候就可以使用nginx_status[active]给调用的脚本传参。*的意思就是可以代表可以传递多个参数。
首先说key的格式,key的格式包括key的名称和参数,参数可以没有。
|
|
key的命令规范:数字,字母(包含大小写),下划线,减号,点。
判断key值是否合法会按照“9-9a-zA-Z_-.”这样的顺序从左向右匹配,如果说遇到不匹配的那就GG,这个key不合法的。简单来说就是看这个字符在不在允许的字符内,允许的话,就下一个,以此类推。
key的参数:key可以有0个(即参数为空,会使用设置的默认值)到多个参数,多个参数用逗号分隔。参数可以是带引号的字符串,不带引号的字符串以及数组。
- 带引号的参数,任何unicode数据都合法,如果有双引号需要脱意符“\”
- 不带引号的参数,除了“,”和“]”外任何unicde都合法
- 数组,数组要多加一对中括号
Tip
- 如果需要使用命令行里面出现$2这种变量,那么需要使用两个$$2,例如awk’{print $$2}’,之前就遇到过这个问题,不停的测试,脚本输出正常,但是zabbix却拿不到数据,原来是在这里。为了防止和参数冲突,所以zabbix做了这个规定。
- zabbix禁止使用一些不安全的参数,如下
|
|